Converting A Digital Image From Color To Gray-Scale

ABSTRACT

Converting a digital image from color to gray-scale. In one example embodiment, a method for converting a digital image from color to gray-scale is disclosed. First, an unconverted pixel having red, green, and blue color channels is selected from the color digital image. Next, the red color channel of the pixel is multiplied by α. Then, the green color channel of the pixel is multiplied by β. Next, the blue color channel of the pixel is multiplied by γ. Then, the results of the three multiplication operations are added together to arrive at a gray-scale value for the pixel. Finally, these acts are repeated for each remaining unconverted pixel of the color digital image to arrive at a gray-scale digital image. In this example method, α+β+≈1 and α&gt;β.

CROSS-REFERENCE TO A RELATED APPLICATION

This application claims priority to U.S. Provisional Patent Application Ser. No. 60/870,645, filed on Dec. 19, 2006, which is incorporated herein by reference in its entirety.

THE FIELD OF THE INVENTION

The present invention relates to image processing. More specifically, embodiments of the present invention relate to methods for converting a digital image from color to gray-scale.

BACKGROUND

One ongoing field of computer vision research is human face detection. Human face detection involves automatically detecting human faces and facial characteristics, such as skin color, in digital photographic images.

Various methods of face detection have been developed to automatically detect the presence of a human face in a digital photographic image. Some learning-based face detection methods such as those using neural networks and AdaBoost techniques usually work with gray-scale images. Thus, given a color input image, these face detection methods first convert the color input image to a gray-scale image before attempting to detect a human face in the gray-scale image.

For example, a color digital image I with the pixels I(x, y) can be arranged in a K₁×K₂ pixel array. The term (x, y) denotes the spatial location where x=1, 2, . . . , K₁ and y=1, 2, . . . , K₂ indicate the image row and column, respectively. Each pixel I(x, y) represents the color vector I(x, y)=[R(x, y), G(x, y), B(x, y)] in which R(x, y), G(x, y), and B(x, y) denote R (red), G (green), and B (blue) color channels, respectively, of the image I. The input color image I can be converted to the output gray-scale image J using the following equation:

J(x,y)=α·R(x,y)+β·G(x,y)+γ·B(x,y)  [Equation 1]

where α, β, and γ are the weights corresponding to the three color channels R, G, and B.

The most popular values for the weights α, β, and γ in [Equation 1] use the luminance values of the so-called NTSC color space from standard NTSC conversion formula, which are α=0.299, β=0.587, and γ=0.114. These popular values are optimized for displaying gray-scale pictures on monochrome (black and white) televisions. However, these popular values are not optimized for certain automated imaging processes, such as certain face detection processes.

SUMMARY OF EXAMPLE EMBODIMENTS

In general, example embodiments relate to methods for converting a digital image from color to gray-scale. Example embodiments can be used to produce gray-scale digital images that are optimized for various automated imaging processes including, but not limited to, face detection.

In one example embodiment, a method for converting a digital image from color to gray-scale is disclosed. First, an unconverted pixel having red, green, and blue color channels is selected from the color digital image. Next, the red color channel of the pixel is multiplied by α. Then, the green color channel of the pixel is multiplied by β. Next, the blue color channel of the pixel is multiplied by γ. Then, the results of the three multiplication operations are added together to arrive at a gray-scale value for the pixel. Finally, these acts are repeated for each remaining unconverted pixel of the color digital image to arrive at a gray-scale digital image. In this example method, α+β+γ≈1 and α>β.

In another example embodiment, one or more computer-readable media have computer-readable instructions thereon which, when executed, implement the method for converting a digital image from color to gray-scale discussed above.

In yet another example embodiment, an image processing device includes a processor, and one or more computer-readable media. The one or more computer-readable media have computer-readable instructions thereon which, when executed by the processor, implement the method for converting a digital image from color to gray-scale discussed above.

BRIEF DESCRIPTION OF THE DRAWINGS

To further develop the above and other aspects of example embodiments of the invention, a more particular description of these examples will be rendered by reference to specific embodiments thereof which are disclosed in the appended drawings. It is appreciated that these drawings depict only example embodiments of the invention and are therefore not to be considered limiting of its scope. It is also appreciated that the drawings are diagrammatic and schematic representations of example embodiments of the invention, and are not limiting of the invention. Example embodiments of the invention will be disclosed and explained with additional specificity and detail through the use of the accompanying drawings in which:

FIG. 1 discloses an example method for converting a digital image from color to gray-scale; and

FIG. 2 is a schematic representation of an example printer.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

In general, example embodiments relate to methods for converting a digital image from color to gray-scale. Example embodiments can be used to produce gray-scale digital images that are optimized for various automated imaging processes including, but not limited to, face detection.

With reference now to FIG. 1, an example method 100 for converting a digital image from color to gray-scale is disclosed. More particularly, the example method 100 converts the R, G, and B values of each pixel of the color digital image to a corresponding gray-scale value.

The example method 100 and variations thereof disclosed herein can be implemented using computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of computer-readable media.

Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer or a special purpose computer to perform a certain function or group of functions. Although the subject matter is described herein in language specific to methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific acts described herein. Rather, the specific acts described herein are disclosed as example forms of implementing the claims.

Examples of special purpose computers include image processing devices such as digital cameras, digital camcorders, projectors, printers, scanners, copiers, or some combination thereof, such as a printer/scanner/copier combination or a digital camera/camcorder combination. An image processing device may include face detection capability, for example, in order to automatically distinguish people from scenery to ensure natural skin tones. For example, a printer with this face detection capability may include one or more computer-readable media that implement the example method 100, or a computer connected to the printer may include one or more computer-readable media that implement the example method 100.

A schematic representation of an example printer 200 is disclosed in FIG. 2. Printer 200 exchanges data with host computer 250 by way of an intervening interface 202. Application programs and a printer driver may also be stored for access on the host computer. When a print command is received from the application program, the printer driver controls conversion of the data to a format suitable for the printer 200 and sends the converted data to the printer 200. The driver also receives and interprets various signals and data from the printer, and provides necessary information to the user by way of the host computer 250.

When data is sent by host computer 250, interface 202 receives the data and stores it in a receive buffer forming part of RAM 204. RAM 204 can be divided into a number of sections, for example through addressing, and allocated as different buffers, such as a receive buffer or a print buffer for example.

A processor 206 uses computer-executable instructions stored on the ROM 208 or in the flash EEPROM 210, for example, to perform a certain function or group of functions, such as the method 100 for example. Where the data in the receiver buffer of the RAM 204 is a digital image, for example, the processor 206 can implement the methodological acts on the digital image of the method 100 to convert the digital image from color to gray-scale. Further processing, such as face detection, may then be performed on the gray-scale digital image, in order to automatically distinguish people from scenery to ensure natural skin tones when the digital image is printed by the printer 200, for example.

The fully processed digital image may then be stored in the print buffer of the RAM 204. The processor 206 may then cause the digital image in the print buffer of the RAM 204 by directing one or more printing mechanisms 212, such as a print head, platen, paper feed mechanism, print head driver, motor drive circuit, and/or various sensor circuits, to print the digital image.

It is understood that digital images may be received by the printer 200 from sources other than the computer 250 including, but not limited to, the flash EEPROM 210 or the ROM 208. In addition, where the printer 200 is a printer/scanner/copier combination, for example, the printer 200 may obtain the digital image by scanning a paper image. Example embodiments of the printer 200 include, but are not limited to, the Epson Stylus Photo R280, Epson Stylus Photo R380, Epson Stylus Photo RX595 and the Epson Stylus Photo RX680, each manufactured by Epson America Incorporated headquartered in Long Beach, Calif.

The example method 100 for converting a pixel of a digital image from color to gray-scale will now be discussed in connection with FIG. 1. The color digital image I with the pixels I(x, y) can be arranged in a K₁×K₂ pixel array. The term (x, y) denotes the spatial location where x=1, 2, . . . , K₁ and y=1, 2, . . . , K₂ indicate the image row and column, respectively. For example, where the image I is a 1280×1024 digital image, K₁=1280 and K₂=1024. Each pixel I(x, y) represents the color vector I(x, y)=[R(x, y), G(x, y), B(x, y)] in which R(x, y), G(x, y), and B(x, y) denote the R (red), G (green), and B (blue) color channels, respectively, of the image I. In one example embodiment, the color values may be stored as numbers in the range 0 to 255. This allows each color value to be stored in one 8-bit byte. Other number ranges and storage sizes are also possible and contemplated.

At 102, an unconverted pixel of the color digital image having red, green, and blue color channels is selected. For example, the pixel I(1,1) can initially be selected. Before being converted from color to gray-scale, the pixel I(1,1) includes a red color channel R(1,1), a green color channel G(1,1), and a blue color channel B(1,1). The color channels of the pixel I(1,1) can have values of R(1,1)=90, G(1,1)=165, and B(1,1)=235, for example.

At 104, the red color channel of the pixel is multiplied by α. For example, the red color channel R(1,1) of the pixel I(1,1) can be multiplied by α. Where α=0.85 and R(1,1)=90, for example, the result of 104 is 0.85·90=76.5.

At 106, the green color channel of the pixel is multiplied by β. For example, the green color channel G(1,1) of the pixel I(1,1) can be multiplied by β. Where β≈0.10 and G(1,1)=165, for example, the result of 106 is 0.10·165=16.5.

At 108, the blue color channel of the pixel is multiplied by γ. For example, the blue color channel B(1,1) of the pixel I(1,1) can be multiplied by γ. Where γ≈0.05 and B(1,1)=235, for example, the result of 108 is 0.05·235=11.75.

At 110, the results of acts 104, 106, and 108 are added together to arrive at a gray-scale value for the pixel. For example, where α=0.85, β≈0.10, γ=0.05, R(1,1)=90, G(1,1)=165, and B(1,1)=235, the result of 110 is (0.85·90)+(0.10·165)+(0.05·235)=104.75.

At 112, the color digital image is evaluated to determine whether all pixels of the color digital image have been converted from color to gray-scale. If all pixels of the color digital image have not yet been converted from color to gray-scale, the acts 102-112 are repeated until all pixels of the color digital image have been converted from color to gray-scale. For example, where the image I is a 1280×1024 digital image, if only the pixel at pixel I(1,1) has been converted from color to gray-scale, the acts 102-112 will be repeated 1,310,719 times in order to convert all remaining unconverted pixels from color to gray-scale.

In one example embodiment, the values of α, β, and γ conform with the constraints α+β+γ≈1 and α>β. In addition, the values of α, β, and γ may further conform to the constraint β>γ. For example, α≈0.85, β≈0.10, and γ=0.05. Alternatively, in another example embodiment, the values of α, β, and γ may instead conform to the constraint γ>β. For example, α≈0.85, β≈0.05, and γ0.10. When an image is converted from color to gray-scale using the example method 100 in conformance with these constraints, the gray-scale image is optimized for various automated imaging processes including, but not limited to, face detection. For example, many learning-based face detection methods such as those using neural networks and ad-aBoost techniques may benefit from a color digital image being converted into a gray-scale digital image prior to any attempt to detect faces in the digital image.

One such face detection method that may benefit from a color digital image being converted into a gray-scale digital image is disclosed in U.S. patent application Ser. No. 11/556,082, titled “Method and Apparatus for Detecting Faces in Digital Images” filed on Nov. 2, 2006, which is incorporated herein by reference in its entirety. By removing the skin-color-based classifier in the method of U.S. patent application Ser. No. 11/556,082, a gray-scale version of the method can be obtained. In one experiment using this modified version of the method of U.S. patent application Ser. No. 11/556,082, an image was processed with an increase of 2.85% in the detect rate where the image was converted from color to gray-scale using the example method 100 with α≈0.85, β≈0.10, and γ=0.05, with little influence on the false positive rate.

The example embodiments disclosed herein may be embodied in other specific forms. The example embodiments disclosed herein are to be considered in all respects only as illustrative and not restrictive. 

1. A method for converting a digital image from color to gray-scale, the method comprising: (1) selecting an unconverted pixel of a color digital image having red, green, and blue color channels; (2) multiplying the red color channel of the pixel by α; (3) multiplying the green color channel of the pixel by β; (4) multiplying the blue color channel of the pixel by γ; (5) adding the results of (2), (3), and (4) together to arrive at a gray-scale value for the pixel; and (6) repeating (1)-(5) for each remaining unconverted pixel of the color digital image to arrive at a gray-scale digital image, wherein α+β+γ≈1 and α>β.
 2. The method as recited in claim 1, wherein β>γ.
 3. The method as recited in claim 1, wherein γ>β.
 4. The method as recited in claim 1, wherein α>β+γ.
 5. The method as recited in claim 1, wherein α≈0.85.
 6. The method as recited in claim 1, wherein β≈0.10.
 7. The method as recited in claim 1, wherein γ≈0.05.
 8. The method as recited in claim 1, wherein α≈0.85, β≈0.10, and γ0.05.
 9. The method as recited in claim 1, further comprising: performing a face detection method on the gray-scale digital image.
 10. One or more computer-readable media having computer-readable instructions thereon which, when executed, implement a method for converting a digital image from color to gray-scale, the method comprising: (1) selecting an unconverted pixel of a color digital image having red, green, and blue color channels; (2) multiplying the red color channel of the pixel by α; (3) multiplying the green color channel of the pixel by β; (4) multiplying the blue color channel of the pixel by γ; (5) adding the results of (2), (3), and (4) together to arrive at a gray-scale value for the pixel; and (6) repeating (1)-(5) for each remaining unconverted pixel of the color digital image to arrive at a gray-scale digital image, wherein α+β+γ≈1 and α>β.
 11. The one or more computer-readable media recited in claim 10, wherein α>β+γ.
 12. The one or more computer-readable media recited in claim 10, wherein α≈0.85.
 13. The one or more computer-readable media recited in claim 10, wherein β≈0.10.
 14. The one or more computer-readable media recited in claim 10, wherein γ≈0.05.
 15. The one or more computer-readable media recited in claim 10, wherein α≈0.85, β≈0.10, and γ≈0.05.
 16. The one or more computer-readable media recited in claim 10, wherein the one or more computer-readable media have computer-readable instructions thereon which, when executed, implement a face detection method on the gray-scale digital image.
 17. An image processing device comprising: a processor; and one or more computer-readable media having computer-readable instructions thereon which, when executed by the processor, implement a method for converting a digital image from color to gray-scale, the method comprising: (1) selecting an unconverted pixel of a color digital image having red, green, and blue color channels; (2) multiplying the red color channel of the pixel by α; (3) multiplying the green color channel of the pixel by β; (4) multiplying the blue color channel of the pixel by γ; (5) adding the results of (2), (3), and (4) together to arrive at a gray-scale value for the pixel; and (6) repeating (1)-(5) for each remaining unconverted pixel of the color digital image to arrive at a gray-scale digital image, wherein α+β+γ≈1 and α>β.
 18. The image processing device as recited in claim 17, wherein the image processing device comprises a printer or a printer/scanner/copier combination.
 19. The image processing device as recited in claim 17, wherein α>β+γ.
 20. The image processing device as recited in claim 17, wherein the one or more computer-readable media have computer-readable instructions thereon which, when executed by the processor, implement a face detection method on the gray-scale digital image. 